package dsx.macro;

import java.util.ArrayList;

public class StringTool {

    public static boolean isEmpty(String str) {
        return (str == null || str.isEmpty());
    }

    public static boolean isTrimEmpty(String str) {
        return (str == null || str.trim().isEmpty());
    }

    public static boolean equals(String str1, String str2, boolean nullEqualEmpty) {
        if (str1 == null && str2 == null) {
            return true;
        } else if (str1 == null) {
            if (str2.isEmpty())
                return nullEqualEmpty;
            return false;
        } else if (str2 == null) {
            if (str1.isEmpty())
                return nullEqualEmpty;
            return false;
        } else {
            return str1.equals(str2);
        }
    }

    public static boolean contains(ArrayList<String> lst, String str, boolean nullEqualEmpty) {
        if (lst == null || lst.isEmpty())
            return false;
        if (str == null || str.isEmpty()) {
            return lst.contains(null) || lst.contains("");
        } else {
            return lst.contains(str);
        }
    }

    public static boolean inArray(String str, String[] arr) {
        if (arr == null || arr.length == 0)
            return false;
        for (int i = 0; i < arr.length; i++)
            if (StringTool.equals(str, arr[i], false))
                return true;
        return false;
    }

}
